/*
 * @file base.h
 * @brief 宏定义头文件
 * @details 通过宏定义控制项目代码块的使用和超参数的配置
 * @license Copyright© 2023 RMSummit-RoboMaster Group
 */

#ifndef BASE_H
#define BASE_H

//------------------------线程调试-----------------------------------------
//-------------------------------------------------------------------------

//-------------------------自瞄调试---------------------------
// #define ARMOR_OLD                  
// 采用旧的图像预处理方法：灰度图与红蓝通道相减图二值化后去与操作
#define ARMOR_NEW  // 采用新的图像预处理方法：取灰度图和颜色通道图亮度集中的区域
// #define DISTORTION_CORRECT         // 是否使用畸变矫正
// #define COMPILE_WITH_CUDA          // armordetectEor中图像预处理使用CUDA加速
// #define BURST_AIM                  // 判断是否使用爆发时自瞄

//-------------------------打击哨兵调试---------------------------
// #define SENTINEL_OLD      // 取亮度集中的地方            
#define SENTINEL_NEW  // 灰度图与红蓝通道相减图二值化后去与操作




//-----------------------能量机关调试-----------------------------
#define RUNE_GRAY  // 灰度图二值化
// #define RUNE_SUBTRACT                 // 红蓝通道相减二值化
// #define RUNE_ARMOR_METHOD             // 自瞄预处理方式
// #define RUNE_RANGE_THRESH             // 区域二值化
//---------------------------------------------------------------------------

// ------------------------相机调试---------------------------------
#define AUTO_EXP  // 开启自动曝光
// #define FIX_EXP    // 开启手动曝光，否则默认自动曝光

//-----------------------------------------------------------

//-------------------------通信调试---------------------------------------
#define CAN_COM 0  // 使用CAN0端口与mcu通信
// #define CAN_COM 1 // 使用CAN1端口与mcu通信
// #define USE_CAN_TO_DEBUG //使用CAN端口借用电控的jscope to debug
//----------------------------------------------------------------------

// ------------------------相机取图模式---------------------------------
// #define CONSTANT_MODE_SJ
// #define CONSTANT_MODE_HERO
#define SOFT_TRIGGER_MODE

/*************************************************************************************/
/**************************************常量定义****************************************/
/*************************************************************************************/
#define ARMOR_PRED_LNUM 21         // 长周期自瞄预测点数
#define ARMOR_PRED_SNUM 11          // 短周期自瞄预测点数



#endif  // BASE_H
